# This is a BitKeeper generated patch for the following project: # Project Name: Linux kernel tree # This patch format is intended for GNU patch command version 2.5 or higher. # This patch includes the following deltas: # ChangeSet 1.1239+1.1153.65.15 -> 1.1240 # arch/i386/kernel/process.c 1.51.1.4 -> 1.56 # kernel/ksyms.c 1.203.1.15 -> 1.211 # include/linux/mm.h 1.121.1.8 -> 1.126 # include/asm-sparc/unistd.h 1.20.1.5 -> 1.25 # include/linux/sched.h 1.151.1.12 -> 1.161 # kernel/fork.c 1.124.1.14 -> 1.131 # kernel/sysctl.c 1.46.1.6 -> 1.51 # kernel/sys.c 1.43.1.12 -> 1.51 # include/asm-sparc64/unistd.h 1.19.1.5 -> 1.24 # arch/i386/kernel/traps.c 1.52.1.5 -> 1.57 # arch/i386/kernel/Makefile 1.44.1.5 -> 1.49 # include/asm-ppc/pgtable.h 1.23.1.1 -> 1.25 # include/linux/pci_ids.h 1.103.1.20 -> 1.110 # mm/memory.c 1.123.1.11 -> 1.133 # include/asm-arm/thread_info.h 1.6.1.2 -> 1.9 # drivers/serial/Makefile 1.14.1.5 -> 1.21 # drivers/char/mem.c 1.42.1.1 -> 1.44 # kernel/posix-timers.c 1.19.1.1 -> 1.21 # include/linux/sysctl.h 1.47.1.4 -> 1.51 # drivers/net/tg3.c 1.72.1.35 -> 1.78 # drivers/char/agp/i460-agp.c 1.25.1.3 -> 1.30 # mm/mmap.c 1.85.1.5 -> 1.89 # fs/proc/base.c 1.42.1.13 -> 1.50 # Makefile 1.410.1.17 -> 1.421 # fs/fcntl.c 1.28.1.1 -> 1.30 # drivers/char/agp/backend.c 1.83.1.3 -> 1.86 # include/asm-x86_64/thread_info.h 1.12.1.1 -> 1.14 # kernel/module.c 1.86.1.6 -> 1.92 # drivers/char/drm/drmP.h 1.23.1.4 -> 1.27 # mm/slab.c 1.93.1.6 -> 1.99 # kernel/sched.c 1.193.1.15 -> 1.202 # drivers/char/drm/drm_drv.h 1.20.1.4 -> 1.24 # kernel/timer.c 1.59.1.8 -> 1.67 # arch/x86_64/kernel/module.c 1.9.1.2 -> 1.12 # drivers/serial/Kconfig 1.8.1.7 -> 1.16 # include/asm-arm/unistd.h 1.16.1.1 -> 1.19 # arch/ia64/Kconfig 1.38.1.4 -> 1.42 # kernel/kallsyms.c 1.11.1.3 -> 1.15 # sound/oss/cs4281/cs4281m.c 1.21.1.5 -> 1.25 # drivers/scsi/qla1280.c 1.38.1.9 -> 1.42 # arch/ppc64/kernel/ioctl32.c 1.35.1.2 -> 1.38 # drivers/scsi/sym53c8xx_2/sym_glue.c 1.23.1.13 -> 1.28 # diff -Nru a/arch/ia64/Kconfig b/arch/ia64/Kconfig --- a/arch/ia64/Kconfig Mon Sep 22 13:03:22 2003 +++ b/arch/ia64/Kconfig Mon Sep 22 13:03:22 2003 @@ -629,6 +629,33 @@ keys are documented in . Don't say Y unless you really know what this hack does. +config IA64_EARLY_PRINTK + bool "Early printk support" + depends on DEBUG_KERNEL && !IA64_GENERIC + help + Selecting this option uses the VGA screen or serial console for + printk() output before the consoles are initialised. It is useful + for debugging problems early in the boot process, but only if you + have a suitable VGA/serial console attached. If you're unsure, + select N. + +config IA64_EARLY_PRINTK_UART + bool "Early printk on MMIO serial port" + depends on IA64_EARLY_PRINTK + +config IA64_EARLY_PRINTK_UART_BASE + hex "UART MMIO base address" + depends on IA64_EARLY_PRINTK_UART + default "ff5e0000" + +config IA64_EARLY_PRINTK_VGA + bool "Early printk on VGA" + depends on IA64_EARLY_PRINTK + +config IA64_EARLY_PRINTK_SGI_SN + bool "Early printk on SGI SN serial console" + depends on IA64_EARLY_PRINTK && (IA64_GENERIC || IA64_SGI_SN2) + config DEBUG_SLAB bool "Debug memory allocations" depends on DEBUG_KERNEL diff -Nru a/include/linux/sysctl.h b/include/linux/sysctl.h --- a/include/linux/sysctl.h Mon Sep 22 13:03:22 2003 +++ b/include/linux/sysctl.h Mon Sep 22 13:03:22 2003 @@ -127,6 +127,7 @@ KERN_PANIC_ON_OOPS=57, /* int: whether we will panic on an oops */ KERN_HPPA_PWRSW=58, /* int: hppa soft-power enable */ KERN_HPPA_UNALIGNED=59, /* int: hppa unaligned-trap enable */ + KERN_CACHEDECAYTICKS=60,/* ulong: value for cache_decay_ticks (EXPERIMENTAL!) */ }; diff -Nru a/kernel/sysctl.c b/kernel/sysctl.c --- a/kernel/sysctl.c Mon Sep 22 13:03:22 2003 +++ b/kernel/sysctl.c Mon Sep 22 13:03:22 2003 @@ -581,6 +581,16 @@ .mode = 0644, .proc_handler = &proc_dointvec, }, +#ifdef CONFIG_SMP + { + .ctl_name = KERN_CACHEDECAYTICKS, + .procname = "cache_decay_ticks", + .data = &cache_decay_ticks, + .maxlen = sizeof(cache_decay_ticks), + .mode = 0644, + .proc_handler = &proc_doulongvec_minmax, + }, +#endif { .ctl_name = 0 } }; diff -Nru a/mm/memory.c b/mm/memory.c --- a/mm/memory.c Mon Sep 22 13:03:22 2003 +++ b/mm/memory.c Mon Sep 22 13:03:22 2003 @@ -114,8 +114,10 @@ } pmd = pmd_offset(dir, 0); pgd_clear(dir); - for (j = 0; j < PTRS_PER_PMD ; j++) + for (j = 0; j < PTRS_PER_PMD ; j++) { + prefetchw(pmd + j + PREFETCH_STRIDE/sizeof(*pmd)); free_one_pmd(tlb, pmd+j); + } pmd_free_tlb(tlb, pmd); }